package cn.wuxing.mediation.system.service;

import cn.wuxing.mediation.common.core.domain.AjaxResult;
import cn.wuxing.mediation.system.domain.vo.*;

import java.util.List;

public interface ISAnalysisService {

    /**
     * 纠纷案件总况分析-案件数量
     * @param analysisQueryVo
     * @return
     */
    List<AnalysisVo> getDisputeCount(AnalysisQueryVo analysisQueryVo);

    /**
     * 纠纷类型分析-案件数量
     * @param analysisQueryVo
     * @return
     */
    List<AnalysisTypeVo> getDisputeCountByType(AnalysisQueryVo analysisQueryVo);

    /**
     * 纠纷区域分析-纠纷类型
     * @param analysisQueryVo
     * @return
     */
    List<DisputeAnalysisVo> disputesAnalysis(AnalysisQueryVo analysisQueryVo);

    /**
     * 纠纷主体分析
     * @param analysisQueryVo
     * @return
     */
    AjaxResult disputeSubject(AnalysisQueryVo analysisQueryVo);

    /**
     * 纠纷趋势分析
     * @param analysisQueryVo
     * @return
     */
    List<DisputeTrendVo> disputeTrend(AnalysisQueryVo analysisQueryVo);

    /**
     * 涉事人员年龄
     * @param analysisQueryVo
     * @return
     */
    AjaxResult disputeAge(AnalysisQueryVo analysisQueryVo);

    /**
     * 涉事人员性别
     * @param analysisQueryVo
     * @return
     */
    AjaxResult disputeSex(AnalysisQueryVo analysisQueryVo);

    /**
     * 时间段高发纠纷类型分析
     * @param analysisQueryVo
     * @return
     */
    List<DisputeTimeVo> disputeTime(AnalysisQueryVo analysisQueryVo);

    /**
     * 时间段高发纠纷区域分析
     * @param analysisQueryVo
     * @return
     */
    List<DisputeTimeAreaVo> disputeTimeArea(AnalysisQueryVo analysisQueryVo);

    /**
     * 时间段高发纠纷纠纷主体分析
     * @param analysisQueryVo
     * @return
     */
    AjaxResult disputeTimeSubject(AnalysisQueryVo analysisQueryVo);

    /**
     * 调解员工作情况分析
     * @param analysisQueryVo
     * @return
     */
    List<DisputeMediatorVo> disputeMediatorsAll(AnalysisQueryVo analysisQueryVo);

    /**
     * 调解员工作情况时长分析
     * @param analysisQueryVo
     * @return
     */
    List<DisputeMediatorTimeVo> disputeMediatorsTime(AnalysisQueryVo analysisQueryVo);

    /**
     * 调解员工作情况类型分析
     * @param analysisQueryVo
     * @return
     */
    List<DisputeMediatorTypeVo> disputeMediatorsType(AnalysisQueryVo analysisQueryVo);

    AjaxResult disputeList(AnalysisQueryVo analysisQueryVo);
}
